<?php
////////////////////////////////////////////////////////////////////////////
//                                                                        //
// NOTICE OF COPYRIGHT                                                    //
//                                                                        //
// Dean`s Office for Moodle                                               //
// Электронный деканат                                                    //
// <http://deansoffice.ru/>                                               //
//                                                                        //
// Copyright (C) 2008-2999  Alex Djachenko (Алексей Дьяченко)             //
// alex-pub@my-site.ru                                                    //
// Copyright (C) 2008-2999  Evgenij Cigancov (Евгений Цыганцов)           //
//                                                                        //
// This program is free software: you can redistribute it and/or modify   //
// it under the terms of the GNU General Public License as published by   //
// the Free Software Foundation, either version 3 of the Licensen.        //
//                                                                        //
// This program is distributed in the hope that it will be useful,        //
// but WITHOUT ANY WARRANTY; without even the implied warranty of         //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          //
// GNU General Public License for more details.                           //
//                                                                        //
// You should have received a copy of the GNU General Public License      //
// along with this program.  If not, see <http://www.gnu.org/licenses/>.  //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

// В этом файле формируется документ с помощью modlib/templater
//обрабатываем экспорт


// Подключаем библиотеку в текущей папке, которая подключает библиотеки FDO
require_once('lib.php');

// Получаем данные из GET через функции Moodle 
$type = required_param('type',PARAM_ALPHA);

// Получаем список для отображения
$list = $DOF->storage('examplest')->get_list();
//получим список всех возможных статусов
$statuslist = $DOF->workflow('examplewf')->get_list();
if ( ! $list OR !$statuslist )
{// Ошибка получения данных - 
    //формируем сообщение об ошибке и отправляем его обратно
    $error = $DOF->get_string('error_export_data', 'exampleim');
    $url = $DOF->url_im('exampleim','/index.php?error='.$error);
    redirect($url,'',0);
}
// Готовим объект с данными для применения к шаблону
$export = new object;
$export->table = array();
//готовим заголовок таблицы
$head = new object; 
$head->id = 'id';
$head->code = $DOF->get_string('code', 'exampleim');
$head->name = $DOF->get_string('name', 'exampleim');
$head->mcourseid = $DOF->get_string('mcourseid', 'exampleim');
$head->status = $DOF->get_string('status', 'exampleim');
$head->statusdate = $DOF->get_string('status_date', 'exampleim');
$head->adddate = $DOF->get_string('add_date', 'exampleim');

if ( 'csv' != $type )
{//вставляем заголовок в данные экспорта
    $export->table[] = $head;
}
// Добавляем список объектов из БД
foreach ( $list as $one )
{
    //превратим данные в читабельный вид
    if ( isset($one->status) )
    {//есть такой статус
        $one->status = $statuslist[$one->status];
    }else
    {//статус не установлен. Установим.
        $one->status = ' ';
    }
    $one->statusdate = date('d.j.y - G:i',$one->statusdate);
    $one->adddate = date('d.j.y - G:i',$one->adddate);
    //заносим в объект экспорта
    $export->table[] = $one;
}
// Создаем объект документа  
$templater_package = $DOF->modlib('templater')->template('im', 'exampleim', $export, 'sample');
// Выбираем формат экспорта
switch ($type)
{
    case 'odf'  : $templater_package->send_file('odf');break;
    case 'html' : $templater_package->send_file('html');break;
    case 'csv'  : $templater_package->send_file('csv');break;
    case 'dbg'  :
    default : $templater_package->send_file('dbg');
}

?>